最近学习树的概念,有关二叉树的实现算法记录下来。。。 不过学习之前要了解的预备知识:树的概念;二叉树的存储结构;二叉树的遍历方法。。 二叉树的存储结构主要了解二叉链表结构,也就 ...
最近学习树的概念,有关二叉树的实现算法记录下来。。。 不过学习之前要了解的预备知识:树的概念;二叉树的存储结构;二叉树的遍历方法。。 二叉树的存储结构主要了解二叉链表结构,也就 ...
队列和上篇提到的栈类似,本质上都是特殊的线性表,它是在一端(队头)进行删除操作,另一端(队尾)进行插入操作,遵守先进先出的规则。。 既然队列也是线性表,当然也有两种数据存储方式: 顺序存储结构:这 ...
微博上看到有人在讨论尾递归,想起以前曾看过老赵写的一篇相关的博客,介绍的比较详细了,相信很多人都看过,我也在下面留了言,但挑了个刺,表示文章在关键点上一带而过了,老赵自然是懂的,但看的人如果不深入思考 ...
作为一个计算机专业相关的人员(程序猿),无论你从事什么方向(前端、后端、机器学习等),最最基础的就是对排序和查找的算法原理理解与实现。如果连这个还没有烂熟于心,随手就来的话,只能说明你的发展比较堪忧, ...
上篇树(二叉树)的建立和遍历算法(一)对二叉树的遍历是递归的方法,这里利用非递归的方法实现二叉树的遍历。首先要看懂上篇树(二叉树)的建立和遍历算法(一)。 关于二叉树的建立 ...
记得有次被别人问起二叉树的先序遍历,竟然不清楚?当然读书的时候是知道的,工作后有点忘了,只知道它是利用栈递归遍历的,至于这里的先序的“先”,到底指的是先遍历左子树还是先遍历根节点给忘了。 为加深印象 ...
数组是线性结构,可以直接索引,即要去第i个元素,a[i]即可。链表也是线性结构,要取第i个元素,只需用指针往后遍历i次就可。貌似链表比数组还要麻烦些,而且效率低些。 想到这些相同处中的一些细微的不同 ...
相对而言,队列是比较简单的。 代码还有些warning,我改不动,要找gz帮忙。 运行结果: Hello World!enque 4 times and the elems: ...
怎样实现一个无锁队列,网络上有很多的介绍,其中流传最广,影响最大的恐怕就属于以下两篇论文: a) "Implementing lock free queue" by John.D.Valois ...